Wynikiem przeprowadzonych badań jest stworzony model predykcji wytworzonej energii przez panel słoneczny w danej godzinie na podstawie informacji dostarczonych przez czujnik znajdujący się przy nim. Badania pokazują, że z dużą pewnością można przewidzieć ilość wyprodukowanej energii na podstawie stanu pogody zanotowanego przez czujnik przy panelu. Kluczowymi atrybutami okazały się nasłonecznienie, zachmurzenie i wilgotność, co nie jest szokujące. Ważną obserwacją jest również cykliczność średniej wyprodukowanej energii przez panel słoneczny w ciągu roku. W miesiącach zimowych panele produkują znacznie mniej energii niż w miesiącach letnich, czasami bardzo znikome ilości. Badania pokazują, że idealne miejsce na umiejscowienie panelu słonecznego to takie, które ma duże nasłonecznienie podczas całego roku i gdzie niebo jest bezchmurne.
Celem przeprowadzonych badań było stworzenie regresora pozwalającego jak najlepiej przewidzieć ilość wyprodukowanej energii przez panel słoneczny w danej godzinie, na podstawie dostarczonych informacji. Dane zawierają 235790 obserwacji, po 50 atrybutów każda. Poniżej znajduje się próba opisania wszystkich atrybutów wraz z krótkimi statystykami dotyczącymi rozkładu ich wartości.
lapply(solar_data[, c('idsito', 'idmodel', 'idbrand', 'ageinmonths')], summary)
## $idsito
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.1000 0.2250 0.2147 0.3250 0.4250
##
## $idmodel
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.1670 0.2080 0.2426 0.2920 0.7500
##
## $idbrand
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0830 0.1670 0.1519 0.1670 0.4170
##
## $ageinmonths
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 0.1250 0.3145 0.7190 1.0000
Pierwsze 3 zawierają informacje o identyfikatorze, modelu i marce czujnika. W tym zbiorze można wyróżnić 17 czujników, o 11 różnych modelach, wyprodukowanych przez 6 różnych producentów. Wszystkie wartości tych atrybutów zostały znormalizowane i zawierają się w przedziale <0:1>. Czwarty atrybut (tak samo znormalizowany) opisuje wiek danego czujnika, jego wartość jest stała dla każdego idsito.
lapply(solar_data[, c('anno', 'day', 'ora', 'data')], summary)
## $anno
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2012 2012 2012 2012 2013 2013
##
## $day
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.2520 0.4770 0.4812 0.7100 1.0000
##
## $ora
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 0.222 0.500 0.500 0.778 1.000
##
## $data
## Min. 1st Qu. Median
## "2012-01-02 02:00:00" "2012-07-02 11:45:00" "2012-12-31 23:00:00"
## Mean 3rd Qu. Max.
## "2012-12-31 22:44:54" "2013-07-02 11:15:00" "2013-12-31 20:00:00"
## NA's
## "34"
Powyższe atrybuty opisują czas dokonania pomiaru. Anno określa rok dokonania pomiaru i przyjmuje dwie wartości; 2012 i 2013. Day, jak sama nazwa wskazuje, określa dzień dokonania pomiaru. Przyjmuje 365 różnych wartości, co sugeruje, że odzwierciedla kalendarzowy dzień dla danego roku. Atrybut ora przyjmuje 19 różnych wartości, co sugeruje, że pomiary były dokonywane w 19 różnych godzinach dla różnych dób. Po przylrzeniu się wartościom atrybutu data można zauważyć, że pomiary dla każdego dnia były przeprowadzane w godzinach 2:00 - 20:00, co godzinę. Ostatni atrybut zawiera informacje zawarte w trzech poprzednich; rok, dzień, godzinę dokonania pomiaru w bardziej przystępnej postaci - jako (nieznormalizowany) ciąg znaków.
lapply(solar_data[, c('lat', 'lon')], summary)
## $lat
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.4150 0.4370 0.4370 0.4495 0.4390 0.5530
##
## $lon
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1540 0.6200 0.6240 0.5711 0.6300 0.6910
Powyższe atrybuty opisują fizyczne położenie czujników. Wartości atrybutu lat opisują szerokość geograficzną, a lon długość. Zakres wartości atrybutu lat to <0.415:0.553>, co sugeruje, że czujniki położone były na podobnej szerokości geograficznej.
lapply(solar_data[, c('temperatura_ambiente', 'irradiamento', 'pressure', 'windspeed', 'humidity', 'dewpoint', 'windbearing', 'cloudcover', 'irr_pvgis_mod', 'icon')], summary)
## $temperatura_ambiente
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0450 0.2120 0.3480 0.3734 0.5300 0.8180
##
## $irradiamento
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 0.0350 0.1091 0.2040 0.7100
##
## $pressure
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.7480 0.7530 0.6504 0.7550 0.7690
##
## $windspeed
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00000 0.04200 0.06600 0.07622 0.10200 0.69600
##
## $humidity
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1600 0.5400 0.7000 0.6844 0.8400 1.0000
##
## $dewpoint
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1390 0.5350 0.6190 0.6055 0.6830 0.8650
##
## $windbearing
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.3000 0.4780 0.4512 0.6600 0.7690
##
## $cloudcover
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 0.230 0.310 0.359 0.510 1.000
##
## $irr_pvgis_mod
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 0.0560 0.1767 0.3250 1.0000
##
## $icon
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0830 0.6670 0.4623 0.6670 0.7500
Powyższe atrybuty opisują aktualną pogodę “mierzoną” podczas zapisu danych przez czujnik. Opisują odpowiednio: temperaturę powietrza, stopień nasłonecznienia, ciśnienie atmosferyczne, prędkość wiatru, wilgotność, temperaturę punktu rosy, zachmurzenie i ponownie stopień nasłonecznienia, tym razem generowany przez pogodowe API (Photovoltaic Geographical Information System). Ostatnia zmienna (icon) przyjmuje tylko 7 różnych wartości, co sugeruje, że może reprezentować “obecny stan pogody” (ikonę), obliczany przez czujnik lub, co jest bardziej prawdopodobne, dostarczany przez pogodowe API. Zdroworozsądkowo nasłonecznienie powinno pełnić kluczową rolę przy generowaniu energii przez panele słoneczne, zatem podwojenie obserwacji w tym przypadku zdaje się być całkowicie uzasadnione; umożliwa to wyeliminowanie potencjalnych błędnych pomiarów.
lapply(solar_data[, c('altitude', 'azimuth', 'dist')], summary)
## $altitude
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1110 0.4190 0.5640 0.5464 0.6810 0.8840
##
## $azimuth
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1280 0.2950 0.4250 0.4546 0.6350 0.8180
##
## $dist
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.1913 0.4590 0.4686 0.7268 1.0000
Azimuth to azymut, czyli kąt zawarty między północną częścią południka odniesienia a danym kierunkiem poziomym. Zmienna altitude opisuje wysokość, prawdopodobnie słońca nad horyzontem, ponieważ jej wartości rosną do godzin południowych, a następnie maleją. Zmienna dist jest taka sama dla wszystkich czujników oraz zmienia się każdego dnia. Przyglądając się wykresowi zależności jej wartości od day(czyli dnia roku) łatwo zauważyć cykliczność. Prawdopodobnie określa ona odległość Ziemi od Słońca w danym dniu i nie pochodzi bezpośrednio od czujnika.
ggplot() + geom_line(data = solar_data, aes(x = day, y = dist)) + labs(title="Zmiana atrybutu dist w dniach roku")
lapply(solar_data[, 33:47], summary)
## $pcnm1
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.3770 0.3780 0.4224 0.3800 1.0000
##
## $pcnm2
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.2500 0.3770 0.3538 0.4220 0.9720
##
## $pcnm3
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.5510 0.6050 0.6045 0.7300 1.0000
##
## $pcnm4
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.3630 0.5310 0.5189 0.6340 1.0000
##
## $pcnm5
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.3310 0.4270 0.4165 0.4620 1.0000
##
## $pcnm6
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.3390 0.4930 0.4941 0.4930 1.0000
##
## $pcnm7
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0310 0.0520 0.1142 0.1140 1.0000
##
## $pcnm8
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.2040 0.4120 0.4034 0.5110 1.0000
##
## $pcnm9
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.5270 0.5320 0.5371 0.6000 1.0000
##
## $pcnm10
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.5530 0.6190 0.6276 0.7170 1.0000
##
## $pcnm11
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.2570 0.3270 0.3236 0.3270 1.0000
##
## $pcnm12
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.7480 0.7600 0.7568 0.8840 1.0000
##
## $pcnm13
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1370 0.6140 0.6140 0.6501 0.7380 1.0000
##
## $pcnm14
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.4320 0.4730 0.4893 0.5300 1.0000
##
## $pcnm15
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.6120 0.6140 0.5709 0.6150 1.0000
Atrybuty PCNM (z angielksiego Principal coordinates of neighbour matrices) to najprawdopodobniej zmienne pozwalające opisać dokładniej położenie każdego czujnika względem innych czujnikóW. Pozwalają na bardziej wnikliwą analizę położenia dla każdego z czujników poprzez stworzenie własnej macierzy sąsiedztwa dla każdego z nich. Wartości tych parametrów są stałe dla idsito.
lapply(solar_data[, c(20:26, 30:32, 49)], summary)
## $tempi
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0090 0.0730 0.1110 0.1225 0.1260 0.9830
##
## $irri
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.108 0.216 0.220 0.222 0.222 1.000
##
## $pressurei
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000000 0.000000 0.000000 0.000237 0.000000 1.000000
##
## $windspeedi
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00000 0.03700 0.03800 0.03852 0.03900 1.00000
##
## $humidityi
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.03400 0.04400 0.04400 0.06384 0.06200 0.57900
##
## $dewpointi
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0630 0.1140 0.1140 0.1194 0.1180 0.4150
##
## $windbearingi
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.3360 0.3360 0.3455 0.3390 1.0000
##
## $azimuth
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1280 0.2950 0.4250 0.4546 0.6350 0.8180
##
## $altitudei
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0960 0.1360 0.2055 0.2660 0.9820
##
## $azimuthi
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.2090 0.2880 0.3653 0.4820 1.0000
##
## $irri_pvgis_mod
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.0250 0.1580 0.1940 0.1967 0.2130 1.0060
Atrybuty pogodowe z i na końcu zapewne są wynikiem transformacji wartości tych samych atrybutów bez litery i. Wydaje się być prawdopodobne, że do obliczenia ich wartości posłużył, wspomniany w poprzedniej grupie atrybutów, aglorytm rozwiązujący problemem autokorelacji przestrzennej, wynikającej z bliskiego położenia czujnikóW.
lapply(solar_data["kwh"], summary)
## $kwh
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 0.0490 0.1688 0.3320 1.0000
Ostatni analizowany atrybut to znormalizowana do przedziału <0:1> wartość wytworzonej energii przez dany czujnik w danym dniu o danej godzinie. Wartość tej zmiennej ma docelowo zostać “przewidziana” na podstawie wartości pozostałych parametrów.
solar_data_monthYear <- solar_data %>% mutate(month_year = format(as.POSIXct(data), "%Y/%m")) %>% group_by(idsito, month_year) %>% summarise(sum_of_kwh = sum(kwh))
plot <- ggplot() + geom_line(data=solar_data_monthYear, aes(x=month_year, y=sum_of_kwh, group=idsito, color=factor(x = 1*idsito, labels=c(1:17)))) + labs(color="Legenda") + labs(title="Miesięczna produkcja energi dla czujników", x="year_month") +
theme(axis.text.x=element_text(angle=90, vjust=0.5), axis.title.x = element_text(vjust=2.5))
ggplotly(plot)
Powyższy interaktywny wykres pozwala porównać sumę wyprodukowanej energii przez czujniki w każdym miesiącu.
Analizując wykres można dojść do następujących wniosków: * czujniki ulegają awariom; potencjalne awarie występują w miejscach drastycznego spadku produkowanej energii do 0 (np. czujnik 16 w sierpniu 2013r., ), ··* krzywa miesięcznej sumy produkowanej energii dla grupy czujników ma podobny kształt, ··* część czujników odnotowała bardzo niską produkcję energii w styczniu 2013r., efekt ten mógł być spowodowany przykryciem ich przez śnieg ··* czujnik 10 zdecydowanie lepiej prosperował w ostatnim kwartale 2012 w porównaniu do reszty.
Z niewyjaśnionych przyczyn 34 wartości zmiennej data zostało źle zapisanych po zmianie formatu tej kolumny z tekstu na POSIXct. Z racji że obserwacji tych jest garstka, zostały one usunięte.
W pierwotnym zbiorze problem pustych danych nie występuje - wszystkie dane na pierwszy rzut oka zdają się być racjonalne. Po analizie wykresu z poprzedniego rozdziału można zauważyć problem awarii czujnika, czyli brakujących pomiarów wyprodukowanej energii przez dany czujnik. Dla stworzenia najlepszego modelu predykcji należy zapewnić najlepszą jakość pomiarów dla atrybutów najsilniej skorelowanych z kwh. W związku z tym, brakujące pomiary kwh (gdy wartość wynosi 0), gdy nasłonecznienie ma wartość większą od 0 i takie, które zanotowały niezerową produkcję energii przy zerowym nasłonecznieniu należy rozważyć ponownie i przypisać im bardziej racjonalne wartości.
Obserwacjom, których kwh wynosiło 0, a nasłonecznienie było większe od zera przypisano średnią wartość wytworzonej energii w danej godzinie w danym tygodniu przez dany czujnik.
Stworzono macierz korelacji pomiędzy (prawie)wszystkimi atrybutami (bez atrybutów: “data” oraz “idsito”) Analizując powyższą macierz pod kątem korelacji atrybutu kwh z pozostałymiy atrybutami można łatwo zauważyć odwrotną korelację z wartością humidity(wilgotność) co jest logiczne, ponieważ opad deszczu, któremu towarzyszą chmury, skutecznie zmniejsza ilość wytwarzanej energii przez panel słoneczny. Występuje również odwrotna korelacja z wartością atrybutu azimuthi.
Co najważniejsze, atrybut kwh jest skorelowany silnie z wartościami irri oraz irri_pvgis_mod, czyli atrybutami opisującymi nasłonecznienie.
Można także zauważyć na niektórych atrybutach słabą odwrotną korelację pomiędzy parami atrybut-atrybuti.
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0395 nan 0.1000 0.0045
## 2 0.0358 nan 0.1000 0.0037
## 3 0.0327 nan 0.1000 0.0030
## 4 0.0301 nan 0.1000 0.0026
## 5 0.0280 nan 0.1000 0.0021
## 6 0.0261 nan 0.1000 0.0018
## 7 0.0246 nan 0.1000 0.0016
## 8 0.0232 nan 0.1000 0.0014
## 9 0.0220 nan 0.1000 0.0012
## 10 0.0210 nan 0.1000 0.0010
## 20 0.0157 nan 0.1000 0.0003
## 40 0.0127 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0110 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0390 nan 0.1000 0.0051
## 2 0.0349 nan 0.1000 0.0041
## 3 0.0315 nan 0.1000 0.0034
## 4 0.0286 nan 0.1000 0.0028
## 5 0.0262 nan 0.1000 0.0025
## 6 0.0242 nan 0.1000 0.0020
## 7 0.0226 nan 0.1000 0.0017
## 8 0.0212 nan 0.1000 0.0014
## 9 0.0199 nan 0.1000 0.0012
## 10 0.0190 nan 0.1000 0.0010
## 20 0.0135 nan 0.1000 0.0004
## 40 0.0105 nan 0.1000 0.0001
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0091 nan 0.1000 0.0000
## 100 0.0088 nan 0.1000 0.0000
## 120 0.0085 nan 0.1000 0.0000
## 140 0.0082 nan 0.1000 0.0000
## 150 0.0081 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0307 nan 0.1000 0.0036
## 4 0.0277 nan 0.1000 0.0029
## 5 0.0252 nan 0.1000 0.0026
## 6 0.0231 nan 0.1000 0.0021
## 7 0.0214 nan 0.1000 0.0017
## 8 0.0199 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0013
## 10 0.0175 nan 0.1000 0.0010
## 20 0.0122 nan 0.1000 0.0002
## 40 0.0095 nan 0.1000 0.0000
## 60 0.0086 nan 0.1000 0.0000
## 80 0.0080 nan 0.1000 0.0000
## 100 0.0076 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0070 nan 0.1000 0.0000
## 150 0.0069 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0395 nan 0.1000 0.0045
## 2 0.0358 nan 0.1000 0.0037
## 3 0.0327 nan 0.1000 0.0030
## 4 0.0301 nan 0.1000 0.0026
## 5 0.0280 nan 0.1000 0.0021
## 6 0.0262 nan 0.1000 0.0018
## 7 0.0246 nan 0.1000 0.0016
## 8 0.0232 nan 0.1000 0.0014
## 9 0.0220 nan 0.1000 0.0012
## 10 0.0210 nan 0.1000 0.0010
## 20 0.0157 nan 0.1000 0.0003
## 40 0.0127 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0110 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0391 nan 0.1000 0.0050
## 2 0.0350 nan 0.1000 0.0041
## 3 0.0316 nan 0.1000 0.0034
## 4 0.0286 nan 0.1000 0.0029
## 5 0.0263 nan 0.1000 0.0023
## 6 0.0243 nan 0.1000 0.0020
## 7 0.0227 nan 0.1000 0.0016
## 8 0.0211 nan 0.1000 0.0016
## 9 0.0199 nan 0.1000 0.0012
## 10 0.0189 nan 0.1000 0.0011
## 20 0.0134 nan 0.1000 0.0003
## 40 0.0105 nan 0.1000 0.0000
## 60 0.0096 nan 0.1000 0.0000
## 80 0.0091 nan 0.1000 0.0000
## 100 0.0087 nan 0.1000 0.0000
## 120 0.0084 nan 0.1000 0.0000
## 140 0.0081 nan 0.1000 0.0000
## 150 0.0080 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0307 nan 0.1000 0.0036
## 4 0.0277 nan 0.1000 0.0030
## 5 0.0253 nan 0.1000 0.0025
## 6 0.0231 nan 0.1000 0.0021
## 7 0.0213 nan 0.1000 0.0018
## 8 0.0198 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0012
## 10 0.0175 nan 0.1000 0.0011
## 20 0.0120 nan 0.1000 0.0003
## 40 0.0093 nan 0.1000 0.0001
## 60 0.0085 nan 0.1000 0.0000
## 80 0.0079 nan 0.1000 0.0000
## 100 0.0075 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0068 nan 0.1000 0.0000
## 150 0.0067 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0395 nan 0.1000 0.0046
## 2 0.0358 nan 0.1000 0.0037
## 3 0.0327 nan 0.1000 0.0030
## 4 0.0301 nan 0.1000 0.0026
## 5 0.0280 nan 0.1000 0.0021
## 6 0.0261 nan 0.1000 0.0018
## 7 0.0246 nan 0.1000 0.0016
## 8 0.0232 nan 0.1000 0.0014
## 9 0.0220 nan 0.1000 0.0012
## 10 0.0209 nan 0.1000 0.0010
## 20 0.0156 nan 0.1000 0.0003
## 40 0.0126 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0109 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0390 nan 0.1000 0.0050
## 2 0.0348 nan 0.1000 0.0042
## 3 0.0313 nan 0.1000 0.0036
## 4 0.0285 nan 0.1000 0.0028
## 5 0.0260 nan 0.1000 0.0025
## 6 0.0240 nan 0.1000 0.0020
## 7 0.0223 nan 0.1000 0.0017
## 8 0.0210 nan 0.1000 0.0014
## 9 0.0198 nan 0.1000 0.0011
## 10 0.0188 nan 0.1000 0.0010
## 20 0.0134 nan 0.1000 0.0004
## 40 0.0106 nan 0.1000 0.0000
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0092 nan 0.1000 0.0000
## 100 0.0088 nan 0.1000 0.0000
## 120 0.0085 nan 0.1000 0.0000
## 140 0.0082 nan 0.1000 0.0000
## 150 0.0081 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0342 nan 0.1000 0.0044
## 3 0.0306 nan 0.1000 0.0036
## 4 0.0276 nan 0.1000 0.0030
## 5 0.0251 nan 0.1000 0.0025
## 6 0.0230 nan 0.1000 0.0021
## 7 0.0213 nan 0.1000 0.0017
## 8 0.0198 nan 0.1000 0.0014
## 9 0.0185 nan 0.1000 0.0013
## 10 0.0175 nan 0.1000 0.0011
## 20 0.0121 nan 0.1000 0.0003
## 40 0.0094 nan 0.1000 0.0000
## 60 0.0085 nan 0.1000 0.0000
## 80 0.0080 nan 0.1000 0.0000
## 100 0.0075 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0069 nan 0.1000 0.0000
## 150 0.0068 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0396 nan 0.1000 0.0046
## 2 0.0359 nan 0.1000 0.0037
## 3 0.0328 nan 0.1000 0.0030
## 4 0.0303 nan 0.1000 0.0026
## 5 0.0281 nan 0.1000 0.0022
## 6 0.0263 nan 0.1000 0.0018
## 7 0.0247 nan 0.1000 0.0016
## 8 0.0233 nan 0.1000 0.0014
## 9 0.0222 nan 0.1000 0.0012
## 10 0.0212 nan 0.1000 0.0010
## 20 0.0158 nan 0.1000 0.0003
## 40 0.0128 nan 0.1000 0.0001
## 60 0.0116 nan 0.1000 0.0000
## 80 0.0110 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0392 nan 0.1000 0.0050
## 2 0.0351 nan 0.1000 0.0041
## 3 0.0315 nan 0.1000 0.0036
## 4 0.0287 nan 0.1000 0.0028
## 5 0.0263 nan 0.1000 0.0024
## 6 0.0242 nan 0.1000 0.0020
## 7 0.0226 nan 0.1000 0.0016
## 8 0.0211 nan 0.1000 0.0015
## 9 0.0200 nan 0.1000 0.0012
## 10 0.0190 nan 0.1000 0.0010
## 20 0.0135 nan 0.1000 0.0004
## 40 0.0106 nan 0.1000 0.0000
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0091 nan 0.1000 0.0000
## 100 0.0087 nan 0.1000 0.0000
## 120 0.0084 nan 0.1000 0.0000
## 140 0.0081 nan 0.1000 0.0000
## 150 0.0080 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0388 nan 0.1000 0.0053
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0308 nan 0.1000 0.0036
## 4 0.0278 nan 0.1000 0.0030
## 5 0.0252 nan 0.1000 0.0026
## 6 0.0231 nan 0.1000 0.0021
## 7 0.0214 nan 0.1000 0.0018
## 8 0.0198 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0012
## 10 0.0175 nan 0.1000 0.0011
## 20 0.0122 nan 0.1000 0.0003
## 40 0.0093 nan 0.1000 0.0000
## 60 0.0084 nan 0.1000 0.0000
## 80 0.0079 nan 0.1000 0.0000
## 100 0.0074 nan 0.1000 0.0000
## 120 0.0070 nan 0.1000 0.0000
## 140 0.0068 nan 0.1000 0.0000
## 150 0.0067 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0395 nan 0.1000 0.0046
## 2 0.0358 nan 0.1000 0.0037
## 3 0.0328 nan 0.1000 0.0030
## 4 0.0302 nan 0.1000 0.0026
## 5 0.0280 nan 0.1000 0.0022
## 6 0.0262 nan 0.1000 0.0018
## 7 0.0247 nan 0.1000 0.0015
## 8 0.0233 nan 0.1000 0.0014
## 9 0.0221 nan 0.1000 0.0012
## 10 0.0211 nan 0.1000 0.0010
## 20 0.0157 nan 0.1000 0.0003
## 40 0.0127 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0109 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0103 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0390 nan 0.1000 0.0051
## 2 0.0349 nan 0.1000 0.0041
## 3 0.0314 nan 0.1000 0.0035
## 4 0.0286 nan 0.1000 0.0028
## 5 0.0262 nan 0.1000 0.0023
## 6 0.0242 nan 0.1000 0.0020
## 7 0.0225 nan 0.1000 0.0017
## 8 0.0211 nan 0.1000 0.0014
## 9 0.0200 nan 0.1000 0.0011
## 10 0.0190 nan 0.1000 0.0010
## 20 0.0134 nan 0.1000 0.0003
## 40 0.0105 nan 0.1000 0.0001
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0092 nan 0.1000 0.0000
## 100 0.0088 nan 0.1000 0.0000
## 120 0.0085 nan 0.1000 0.0000
## 140 0.0082 nan 0.1000 0.0000
## 150 0.0081 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0307 nan 0.1000 0.0036
## 4 0.0277 nan 0.1000 0.0029
## 5 0.0251 nan 0.1000 0.0026
## 6 0.0231 nan 0.1000 0.0021
## 7 0.0214 nan 0.1000 0.0017
## 8 0.0199 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0013
## 10 0.0175 nan 0.1000 0.0011
## 20 0.0121 nan 0.1000 0.0003
## 40 0.0093 nan 0.1000 0.0000
## 60 0.0085 nan 0.1000 0.0000
## 80 0.0079 nan 0.1000 0.0000
## 100 0.0075 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0069 nan 0.1000 0.0000
## 150 0.0068 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0396 nan 0.1000 0.0046
## 2 0.0359 nan 0.1000 0.0037
## 3 0.0328 nan 0.1000 0.0030
## 4 0.0302 nan 0.1000 0.0026
## 5 0.0281 nan 0.1000 0.0022
## 6 0.0262 nan 0.1000 0.0019
## 7 0.0247 nan 0.1000 0.0015
## 8 0.0233 nan 0.1000 0.0014
## 9 0.0221 nan 0.1000 0.0012
## 10 0.0211 nan 0.1000 0.0010
## 20 0.0157 nan 0.1000 0.0003
## 40 0.0127 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0110 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0391 nan 0.1000 0.0050
## 2 0.0349 nan 0.1000 0.0041
## 3 0.0314 nan 0.1000 0.0036
## 4 0.0286 nan 0.1000 0.0028
## 5 0.0261 nan 0.1000 0.0024
## 6 0.0241 nan 0.1000 0.0021
## 7 0.0224 nan 0.1000 0.0017
## 8 0.0210 nan 0.1000 0.0013
## 9 0.0199 nan 0.1000 0.0011
## 10 0.0189 nan 0.1000 0.0010
## 20 0.0133 nan 0.1000 0.0003
## 40 0.0105 nan 0.1000 0.0001
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0092 nan 0.1000 0.0000
## 100 0.0087 nan 0.1000 0.0000
## 120 0.0084 nan 0.1000 0.0000
## 140 0.0081 nan 0.1000 0.0000
## 150 0.0080 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0308 nan 0.1000 0.0036
## 4 0.0278 nan 0.1000 0.0030
## 5 0.0252 nan 0.1000 0.0026
## 6 0.0232 nan 0.1000 0.0020
## 7 0.0214 nan 0.1000 0.0018
## 8 0.0200 nan 0.1000 0.0015
## 9 0.0187 nan 0.1000 0.0013
## 10 0.0176 nan 0.1000 0.0012
## 20 0.0121 nan 0.1000 0.0002
## 40 0.0093 nan 0.1000 0.0000
## 60 0.0085 nan 0.1000 0.0001
## 80 0.0079 nan 0.1000 0.0000
## 100 0.0075 nan 0.1000 0.0000
## 120 0.0071 nan 0.1000 0.0000
## 140 0.0068 nan 0.1000 0.0000
## 150 0.0067 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0394 nan 0.1000 0.0046
## 2 0.0357 nan 0.1000 0.0037
## 3 0.0327 nan 0.1000 0.0031
## 4 0.0301 nan 0.1000 0.0026
## 5 0.0279 nan 0.1000 0.0021
## 6 0.0260 nan 0.1000 0.0019
## 7 0.0245 nan 0.1000 0.0015
## 8 0.0231 nan 0.1000 0.0014
## 9 0.0219 nan 0.1000 0.0012
## 10 0.0209 nan 0.1000 0.0010
## 20 0.0156 nan 0.1000 0.0003
## 40 0.0126 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0109 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0390 nan 0.1000 0.0050
## 2 0.0348 nan 0.1000 0.0041
## 3 0.0313 nan 0.1000 0.0036
## 4 0.0284 nan 0.1000 0.0029
## 5 0.0260 nan 0.1000 0.0024
## 6 0.0240 nan 0.1000 0.0020
## 7 0.0223 nan 0.1000 0.0017
## 8 0.0209 nan 0.1000 0.0014
## 9 0.0198 nan 0.1000 0.0011
## 10 0.0188 nan 0.1000 0.0010
## 20 0.0133 nan 0.1000 0.0003
## 40 0.0105 nan 0.1000 0.0001
## 60 0.0096 nan 0.1000 0.0000
## 80 0.0091 nan 0.1000 0.0000
## 100 0.0088 nan 0.1000 0.0000
## 120 0.0085 nan 0.1000 0.0000
## 140 0.0082 nan 0.1000 0.0000
## 150 0.0081 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0386 nan 0.1000 0.0054
## 2 0.0342 nan 0.1000 0.0044
## 3 0.0306 nan 0.1000 0.0036
## 4 0.0276 nan 0.1000 0.0031
## 5 0.0250 nan 0.1000 0.0025
## 6 0.0230 nan 0.1000 0.0020
## 7 0.0212 nan 0.1000 0.0018
## 8 0.0197 nan 0.1000 0.0015
## 9 0.0184 nan 0.1000 0.0013
## 10 0.0174 nan 0.1000 0.0010
## 20 0.0120 nan 0.1000 0.0004
## 40 0.0093 nan 0.1000 0.0001
## 60 0.0085 nan 0.1000 0.0000
## 80 0.0079 nan 0.1000 0.0000
## 100 0.0074 nan 0.1000 0.0000
## 120 0.0071 nan 0.1000 0.0000
## 140 0.0068 nan 0.1000 0.0000
## 150 0.0067 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0396 nan 0.1000 0.0045
## 2 0.0359 nan 0.1000 0.0037
## 3 0.0329 nan 0.1000 0.0030
## 4 0.0303 nan 0.1000 0.0026
## 5 0.0282 nan 0.1000 0.0021
## 6 0.0263 nan 0.1000 0.0018
## 7 0.0248 nan 0.1000 0.0016
## 8 0.0234 nan 0.1000 0.0014
## 9 0.0222 nan 0.1000 0.0012
## 10 0.0212 nan 0.1000 0.0010
## 20 0.0158 nan 0.1000 0.0003
## 40 0.0128 nan 0.1000 0.0001
## 60 0.0116 nan 0.1000 0.0000
## 80 0.0110 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0391 nan 0.1000 0.0051
## 2 0.0350 nan 0.1000 0.0041
## 3 0.0316 nan 0.1000 0.0034
## 4 0.0287 nan 0.1000 0.0029
## 5 0.0263 nan 0.1000 0.0024
## 6 0.0243 nan 0.1000 0.0020
## 7 0.0226 nan 0.1000 0.0016
## 8 0.0212 nan 0.1000 0.0014
## 9 0.0200 nan 0.1000 0.0012
## 10 0.0190 nan 0.1000 0.0010
## 20 0.0135 nan 0.1000 0.0003
## 40 0.0105 nan 0.1000 0.0001
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0091 nan 0.1000 0.0000
## 100 0.0088 nan 0.1000 0.0000
## 120 0.0085 nan 0.1000 0.0000
## 140 0.0082 nan 0.1000 0.0000
## 150 0.0081 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0388 nan 0.1000 0.0054
## 2 0.0344 nan 0.1000 0.0044
## 3 0.0308 nan 0.1000 0.0036
## 4 0.0279 nan 0.1000 0.0030
## 5 0.0254 nan 0.1000 0.0025
## 6 0.0233 nan 0.1000 0.0020
## 7 0.0216 nan 0.1000 0.0017
## 8 0.0201 nan 0.1000 0.0015
## 9 0.0188 nan 0.1000 0.0012
## 10 0.0178 nan 0.1000 0.0011
## 20 0.0121 nan 0.1000 0.0004
## 40 0.0094 nan 0.1000 0.0001
## 60 0.0086 nan 0.1000 0.0000
## 80 0.0080 nan 0.1000 0.0000
## 100 0.0075 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0069 nan 0.1000 0.0000
## 150 0.0068 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0395 nan 0.1000 0.0045
## 2 0.0358 nan 0.1000 0.0037
## 3 0.0328 nan 0.1000 0.0030
## 4 0.0302 nan 0.1000 0.0026
## 5 0.0280 nan 0.1000 0.0022
## 6 0.0262 nan 0.1000 0.0018
## 7 0.0247 nan 0.1000 0.0015
## 8 0.0233 nan 0.1000 0.0014
## 9 0.0221 nan 0.1000 0.0012
## 10 0.0211 nan 0.1000 0.0010
## 20 0.0158 nan 0.1000 0.0003
## 40 0.0127 nan 0.1000 0.0001
## 60 0.0116 nan 0.1000 0.0000
## 80 0.0110 nan 0.1000 0.0000
## 100 0.0107 nan 0.1000 0.0000
## 120 0.0104 nan 0.1000 0.0000
## 140 0.0102 nan 0.1000 0.0000
## 150 0.0102 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0390 nan 0.1000 0.0050
## 2 0.0349 nan 0.1000 0.0041
## 3 0.0315 nan 0.1000 0.0034
## 4 0.0286 nan 0.1000 0.0029
## 5 0.0262 nan 0.1000 0.0024
## 6 0.0241 nan 0.1000 0.0020
## 7 0.0225 nan 0.1000 0.0017
## 8 0.0211 nan 0.1000 0.0013
## 9 0.0199 nan 0.1000 0.0012
## 10 0.0190 nan 0.1000 0.0010
## 20 0.0134 nan 0.1000 0.0003
## 40 0.0106 nan 0.1000 0.0001
## 60 0.0097 nan 0.1000 0.0000
## 80 0.0092 nan 0.1000 0.0000
## 100 0.0088 nan 0.1000 0.0000
## 120 0.0085 nan 0.1000 0.0000
## 140 0.0082 nan 0.1000 0.0000
## 150 0.0081 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0308 nan 0.1000 0.0036
## 4 0.0278 nan 0.1000 0.0030
## 5 0.0252 nan 0.1000 0.0025
## 6 0.0232 nan 0.1000 0.0020
## 7 0.0214 nan 0.1000 0.0018
## 8 0.0199 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0013
## 10 0.0176 nan 0.1000 0.0010
## 20 0.0121 nan 0.1000 0.0004
## 40 0.0094 nan 0.1000 0.0000
## 60 0.0085 nan 0.1000 0.0000
## 80 0.0079 nan 0.1000 0.0000
## 100 0.0075 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0068 nan 0.1000 0.0000
## 150 0.0067 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0396 nan 0.1000 0.0046
## 2 0.0358 nan 0.1000 0.0037
## 3 0.0328 nan 0.1000 0.0030
## 4 0.0302 nan 0.1000 0.0026
## 5 0.0280 nan 0.1000 0.0022
## 6 0.0261 nan 0.1000 0.0019
## 7 0.0246 nan 0.1000 0.0015
## 8 0.0232 nan 0.1000 0.0014
## 9 0.0220 nan 0.1000 0.0012
## 10 0.0210 nan 0.1000 0.0010
## 20 0.0156 nan 0.1000 0.0003
## 40 0.0126 nan 0.1000 0.0001
## 60 0.0115 nan 0.1000 0.0000
## 80 0.0109 nan 0.1000 0.0000
## 100 0.0106 nan 0.1000 0.0000
## 120 0.0103 nan 0.1000 0.0000
## 140 0.0101 nan 0.1000 0.0000
## 150 0.0101 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0390 nan 0.1000 0.0051
## 2 0.0349 nan 0.1000 0.0041
## 3 0.0314 nan 0.1000 0.0034
## 4 0.0285 nan 0.1000 0.0029
## 5 0.0261 nan 0.1000 0.0024
## 6 0.0241 nan 0.1000 0.0020
## 7 0.0224 nan 0.1000 0.0017
## 8 0.0211 nan 0.1000 0.0013
## 9 0.0199 nan 0.1000 0.0012
## 10 0.0188 nan 0.1000 0.0010
## 20 0.0133 nan 0.1000 0.0003
## 40 0.0105 nan 0.1000 0.0001
## 60 0.0096 nan 0.1000 0.0000
## 80 0.0091 nan 0.1000 0.0000
## 100 0.0087 nan 0.1000 0.0000
## 120 0.0083 nan 0.1000 0.0000
## 140 0.0081 nan 0.1000 0.0000
## 150 0.0080 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0306 nan 0.1000 0.0036
## 4 0.0276 nan 0.1000 0.0030
## 5 0.0252 nan 0.1000 0.0025
## 6 0.0231 nan 0.1000 0.0021
## 7 0.0213 nan 0.1000 0.0017
## 8 0.0199 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0013
## 10 0.0175 nan 0.1000 0.0011
## 20 0.0119 nan 0.1000 0.0003
## 40 0.0092 nan 0.1000 0.0001
## 60 0.0084 nan 0.1000 0.0000
## 80 0.0078 nan 0.1000 0.0000
## 100 0.0074 nan 0.1000 0.0000
## 120 0.0071 nan 0.1000 0.0000
## 140 0.0068 nan 0.1000 0.0000
## 150 0.0067 nan 0.1000 0.0000
##
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 0.0387 nan 0.1000 0.0054
## 2 0.0343 nan 0.1000 0.0044
## 3 0.0307 nan 0.1000 0.0036
## 4 0.0276 nan 0.1000 0.0031
## 5 0.0251 nan 0.1000 0.0025
## 6 0.0230 nan 0.1000 0.0021
## 7 0.0213 nan 0.1000 0.0017
## 8 0.0198 nan 0.1000 0.0015
## 9 0.0186 nan 0.1000 0.0012
## 10 0.0175 nan 0.1000 0.0011
## 20 0.0122 nan 0.1000 0.0004
## 40 0.0094 nan 0.1000 0.0001
## 60 0.0085 nan 0.1000 0.0000
## 80 0.0080 nan 0.1000 0.0000
## 100 0.0076 nan 0.1000 0.0000
## 120 0.0072 nan 0.1000 0.0000
## 140 0.0069 nan 0.1000 0.0000
## 150 0.0068 nan 0.1000 0.0000
Przed przystąpieniem do stworzenia modelu regresji, ze zbioru danych usunięto pomiary dotyczące odstającego czujnika 10 oraz wadliwego czujnika 16. W ten sposób wyniki algorytmów predykcji będą bardziej rzetelne. Wartości rmse wyglądają następująco: ··* Regresja liniowa: 0.1087168 ··* Least angle regression: 0.1087013 ··* Uczenie maszynowe: 0.0826634
Stworzono 3 modele regresji używające metod: regresji liniowej, least angle regression, uczenia maszynowego. Najlepszy wyniki zanotowano dla ostatniego algorytmu, którego błąd średniokwadratowy wyniósł 0.0826634.
W fazie testowej wykorzystywano również algorytm random forest, którego błąd średniokwadratowy wypadał jeszcze lepiej, natomiast łatwo można było spostrzec jego przeuczenie, wynikające z przypisania największych wag atrybutom na zdrowy rozsądek mało istotnym (annoy, day, lat…).
## gbm variable importance
##
## only 20 most important variables shown (out of 101)
##
## Overall
## irradiamento 100.00000
## irri 13.29887
## ora 8.37887
## humidity 5.77718
## irri_pvgis_mod 2.79484
## azimuthi 2.38241
## cloudcover 2.05459
## icon 0.93046
## azimuth 0.82074
## anno 0.67172
## dist 0.49356
## idsito 0.45533
## ageinmonths 0.45441
## day 0.32006
## idmodel 0.26782
## tempi 0.25715
## pressure 0.24880
## week11 0.10624
## pcnm7 0.07939
## pcnm1 0.04980
Jak widać, do przewidzenia ilości wytworzonej energii przez panel słoneczny najlepiej nadają się dane dotyczące nasłonecznienia (irradiamento, irri), co nie jest żadnym zaskoczeniem. Dalej wymienione atrybuty są znacznie mniej istotne. Trzecim w kolejności (co ciekawe) atrybutem jest godzina (ora), co oznacza, że wytworzona energia jest podobna dla dwóch obserwacji dokonanych w różnych dnaich, ale o tych samych godzinach. Następne w kolejności atrybuty opisują wilgotność, nasłonecznienie, położenie słońca i zachmurzenie.